package com.itheima.utils;

public class CurrentHolder {

    private static final ThreadLocal<Integer> CURRENT_LOCAL = new ThreadLocal<>();

    //设置当前员工id
    public static void setCurrentId(Integer employeeId) {//为当前执行线程的 ThreadLocal 副本设置员工 ID
        CURRENT_LOCAL.set(employeeId);//调用 ThreadLocal 的 set 方法，将传入的 employeeId 存储到当前线程的专属副本中。
    }


    public static Integer getCurrentId() {//获取当前执行线程的 ThreadLocal 副本中存储的员工 ID。
        return CURRENT_LOCAL.get();//调用 ThreadLocal 的 get 方法，从当前线程的专属副本中取出之前存储的 employeeId。
    }

    public static void remove() {//非常重要！ 从当前执行线程的 ThreadLocal 副本中移除存储的员工 ID。
        CURRENT_LOCAL.remove();//调用 remove() 可以确保每个新请求开始时，ThreadLocal 是“干净”的，避免了数据污染.防止内存泄漏
    }
}